package bus

import (
	"git.oschina.net/antlinker/antevent/server/app"
	"git.oschina.net/antlinker/antevent/server/store"
)

// Listener 监听存储
type Listener interface {
	// Add 新增监听
	Add(app.AntListen) error
	// Update 修改监听
	Update(app.AntListen) error
	// List 查询列表
	List(etype, action string, lid string, cnt int) (total int, res []*app.AntListen, err error)
	Rmove(rid string) error
}

type listener struct {
	lstore store.Listener
}

// Add 新增监听
func (l listener) Add(listen app.AntListen) error {
	return l.lstore.Add(listen)
}

// Update 修改监听
func (l listener) Update(listen app.AntListen) error {
	return l.lstore.Update(listen)
}

// List 查询列表
func (l listener) List(etype, action string, lid string, cnt int) (total int, res []*app.AntListen, err error) {
	return l.lstore.List(etype, action, lid, cnt)
}
func (l listener) Rmove(rid string) error {
	return l.lstore.Rmove(rid)
}
